package com.cn.yds.bdy.service;

import com.cn.yds.bdy.dao.model.Topic;
import com.cn.yds.bdy.dao.model.TopicModel;
import com.cn.yds.bdy.dao.model.TopicPo;
import com.cn.yds.bdy.dao.model.UserModel;
import com.cn.yds.bdy.vo.SearchParamVo;
import com.cn.yds.bdy.vo.StudentVo;
import com.cn.yds.bdy.vo.TopicCollectVo;
import com.cn.yds.bdy.vo.UserVo;
import org.springframework.data.domain.Page;

import java.util.List;

public interface TopicService {

    /**
     *  Find topic list by teacher id
     * @param teacherId teacherId
     * @return List<TopicModel>
     */
    TopicCollectVo collectTeachersTopic(Integer teacherId);

    /**
     * Find topic by topicId
     * @param topicId topicId
     * @return TopicModel
     */
    TopicPo findById(Integer topicId);

    /**
     * Update topic model
     * @param topicModel topicModel
     * @return Integer
     */
    Integer updateTopic(TopicModel topicModel);

    /**
     * Find by status
     * @param searchParamVo searchParamVo
     * @return List<TopicModel>
     */
    Page<Topic> findTopics(SearchParamVo searchParamVo);


    /**
     * Get students in the topic
     * @param topicId topic id
     * @return
     */
    List<StudentVo> getStudentsInOneTopic(Integer topicId);


}
